我是python新手。我在使用csv文件时遇到问题。这是一个有12行标题的文件,在开始数据之后。我必须从列中读取一些数据(这是可以的),在详细说明之后,我必须向同一文件中添加一列,每行中都有一个值,但第一列中没有任何id,该列必须从第13行开始,而不是从第一行开始。
我试过用熊猫图书馆但不管用
df = pd.read_csv("./1540476113.gt.tie")
df["package"] = pd.Series(packages)
df.to_csv("./1540476113.gt.tie", sep = "\t")
其中,package是列的名称(但我也知道索引),package是字符串数组(我必须编写的元素)。这段代码可以工作,但从第一行开始添加(我不知道如何设置偏移量),并将第一列中的索引(非所需)和每个元素前面的字符“添加到文件中”。sep是每列的分隔符。
示例输入数据:
# TIE output version: 1.0 (text format)
# generated by: . -a ndping_1.0 -r /home/giuseppe/Scrivania/gruppo30/1540476113/traffic.pcap
# Working Mode: off-line
# Session Type: biflow
# 1 plugins enabled: ndping
# begin trace interval: 1540476116.42434
# begin TIE Table
# id src_ip dst_ip proto sport dport dwpkts uppkts dwbytes upbytes t_start t_last app_id sub_id app_details confidence
17 192.168.20.105 216.58.205.42 6 50854 443 8 9 1507 1728 1540476136.698920 1540476136.879543 501 0 Google 100
26 192.168.20.105 151.101.66.202 6 40107 443 15 18 5874 1882 1540476194.196948 1540476204.641949 501 0 SSL_with_certificate 100
27 192.168.20.105 31.13.90.2 6 48133 443 10 15 4991 1598 1540476194.218949 1540476196.358946 501 0 Facebook 100
样本输出数据:
# TIE output version: 1.0 (text format)
# generated by: . -a ndping_1.0 -r /home/giuseppe/Scrivania/gruppo30/1540476113/traffic.pcap
# Working Mode: off-line
# Session Type: biflow
# 1 plugins enabled: ndping
# begin trace interval: 1540476116.42434
# begin TIE Table
# id src_ip dst_ip proto sport dport dwpkts uppkts dwbytes upbytes t_start t_last app_id sub_id app_details confidence package
17 192.168.20.105 216.58.205.42 6 50854 443 8 9 1507 1728 1540476136.698920 1540476136.879543 501 0 Google 100 N/C
26 192.168.20.105 151.101.66.202 6 40107 443 15 18 5874 1882 1540476194.196948 1540476204.641949 501 0 SSL_with_certificate 100 com.joelapenna.foursquared
27 192.168.20.105 31.13.90.2 6 48133 443 10 15 4991 1598 1540476194.218949 1540476196.358946 501 0 Facebook 100 com.joelapenna.foursquared
38 192.168.20.105 13.32.71.69 6 52108 443 9 12 5297 2062 1540476195.492946 1540476308.604998 501 0 SSL_with_certificate 100 com.joelapenna.foursquared
0 34.246.212.92 192.168.20.105 6 443 37981 3 2 187 98 1540476116.042434 1540476189.868844 0 0 Other TCP 0 N/C
29 192.168.20.105 13.32.123.222 6 36481 443 11 15 6638 1914 1540476194.376945 1540476308.572998 501 0 SSL_with_certificate 100 com.joelapenna.foursquared
31 192.168.20.105 8.8.8.8 17 1219 53 1 1 253 68 1540476194.898945 1540476194.931198 501 0 DNS 100
我不关心alinemen,每列的分隔符都是'\t'。
您可以通过向read_csv
传递一些参数来跳转到数据。
df = pd.read_csv("./1540476113.gt.tie", header=None, skiprows=12)
df["package"] = pd.Series(packages)
df.to_csv("./1540476113.gt.tie", sep = "\t")
然后显式命名您的列:
df.columns = [col_names]
如果第13行是包含所需列名的标题行,则不要传递头=无
参数。
在这里的文档中查看更多信息。
问题内容: 我有一个列表列表,我想将其写入csv文件中。示例列表: data [0]应该是列名,其他都是行数据 请给我建议一种方法。 问题答案: 这与模块无关紧要: 您已经具有标题作为第一行;您可以使用该方法一次性写入所有行。真的,这就是全部。
问题内容: 我有一长串以下形式的清单- 即列表中的值是不同的类型-浮点数,整数,字符串。如何将其写入csv文件,以便输出的csv文件看起来像 问题答案: Python的内置CSV模块可以轻松处理此问题: 假设您的问题中的清单定义为。您可以通过各种可选参数来调整输出CSV的确切格式,如上面链接的库参考页中所述。 Python 3更新
问题内容: 我有以下代码: 在控制台中,使用System.out.println(line)输出的代码为我提供了正确的输出。但是,当我打开CSV文件时,它似乎是反向写入的。Excel首先抱怨行数。但是,仅显示原始数据集的最后一行。数据集(以一种低效的方式进行了预处理)包含1000多个行。因此,我不能简单地附加每个条目。 有更好的方法吗? 提示和技巧非常受欢迎。更进一步,我尝试了一些编写器:-CSV
如何才能从pandas数据帧中只写入前N行或从P行到Q行到csv而不首先对df进行子化?由于内存问题,我无法对要导出的数据进行子集。 我正在考虑一个函数,它逐行写入csv。 谢谢你
问题内容: 我正在努力将列表字典写入.csv文件。 这是我的字典的样子: 我希望.csv文件看起来像: 首先,我写标题: 到目前为止很好…但是,我的问题是我不知道如何将一个列表分配给相应的列。例如: 将随机填充列。另一个问题是,我必须手动填写键,并且不能将其用于具有4个键的另一本词典。 问题答案: 如果您不关心列的顺序(因为字典是无序的),则可以简单地使用: 结果: 如果您确实关心订单,则需要对键
问题内容: 我有以下格式的数据: 我想将其写入CSV。下面是我的代码: 方法“ writeNext”仅允许使用String []作为参数。当我尝试使用Object []将’ArrayList each’强制转换为String []时,如下所示,我遇到了运行时类型强制转换错误: 谁能告诉我我要去哪里错了? 问题答案: 你不能投入,因为可以包含狗,猫,整型等。 您应该使用重载的List#toArray