我已经编写了代码,可以写入CSV文件,从另一个文件读取。我想从输入文件中写出特定的列,所以我将它们附加到一个列表中,然后用逗号分隔并将它们添加到行中,但输出文件显示各个单词的字符也用逗号分隔。我只想把单词分开,不想把字符分开。
import csv
def csv_reader(file,path):
with open(path, 'w') as f1, open(file, 'r') as f2:
write = csv.writer(f1, delimiter=',')
read = csv.reader((line.replace('\0','') for line in f2), delimiter="\t")
i=1
for row in read:
if(len(row)==0):
continue
if(row[3]=="Trade"):
continue
else:
if(row[6]==""):
r = [row[0],row[0],'A',row[8],row[9],row[0]]
line = ','.join(r)
print(line)
write.writerow(line)
else:
r = [row[0],row[0],'B',row[6],row[7],row[0]]
line = ','.join(r)
print(line)
write.writerow(line)
if __name__ == "__main__":
path = "sales.csv"
csv_path = "FlowEdge-TRTH-Time_Sales.csv"
csv_reader(csv_path,path)
这显示输出如下:
0,7,0,0,4,5,0,0,0,0,C,8,.,H,K,",",0,7,0,0,4,5,0,0,0,0,C,8,.,H,K,",",B,",",5,.,7,",",4,",",0,7,0,0,4,5,0,0,0,0,C,8,.,H,K
而它应该是这样的:
0700450000C8.HK,0700450000C8.HK,B,5.7,4,0700450000C8.HK
当我进行以下修改时
write.writerow([line])
它在Excel文件的一列中显示完整的字符串,这意味着只有一列,而我想要6列。
如果您只想从一个中读取特定的列集。csv文件并将其输出到另一个文件,您可以尝试使用pandas模块。
import pandas as pd
data = pd.read_csv('to_load.csv', usecols=['col1', 'col2'])
data.to_csv('to_save.csv', index=False)
它首先将csv加载到名为data的变量。只有在usecols中定义的列才能导入。您可以根据列的名称或索引引用列(例如,您可以使用COLS=[0,1,2]
-这将导入前3列)。
然后,借助于,可以将变量轻松地再次保存到csv文件中。到csv方法。
要在csv文件中写入行,应在括号中包含每个字符串。因此,如果您使用的是csvwriter。writerrow()对象如果您有类似“first\u name”的字符串,则应在该字符串周围使用括号,以避免csv文件中每个字符之间出现“,”。
csvwriter.writerow(['first_name'])
此外,如果您想写入多行,请使用嵌套括号,如下所示:
csvwriter.writerows([['first_name'],['last_name']])
问题就在这里:
line=','.join(r)
print(line)
write.writerow(line)
Writerow
方法需要列列表。它将在列之间添加逗号(并引用或转义任何需要它的内容,等等)。
但是你没有给它一个列列表;你给它一个字符串。这就是','. connect(r)
所做的:将列列表转换为一个逗号分隔的字符串。
当您给Writerow
一个字符串时,它会将字符串视为字符序列。(这不是csv
特有的;在Python中,字符串是字符序列。)所以它将每个字符视为一列,并在它们之间添加逗号。
只需这样做:
write.writerow(r)
问题内容: 我不确定要如何处理此错误。我认为这与需要添加.encode(’utf-8’)有关。但是我不确定这是否是我需要做的,也不是应该在哪里应用。 错误是: 这是我的python脚本的基础。 问题答案: Python 2.x CSV库已损坏。您有三个选择。按照复杂度的顺序: 编辑:请参见下文 使用固定库 https://github.com/jdunck/python-unicodecsv( )
本文向大家介绍手写代码:字符串逆序相关面试题,主要包含被问及手写代码:字符串逆序时的应答技巧和注意事项,需要的朋友参考一下 参考回答:
问题内容: 我正在制作一种方法来读取整个类代码并对其进行一些处理。 我想要做的是获取方法的名称,并使用它创建一个字符串。 像removeProduct这样的东西 我将创建一个字符串“删除产品” 在大写情况下如何拆分名称方法?如何用每个单词的第一个字母作为大写字母来构建这个新字符串?我正在使用子字符串,是否有更简便更好的方法呢? ps:我确定我的巴西英语对标题没有帮助。如果有人能让它看起来更好,我将
我必须删除python中以开头和以结尾的字符串(例如,我必须用空字符串替换字符串)。但这里的问题是它可以从三个或四个或任意数量的开始。我尝试使用regex。但是当它在上运行时,它将作为输出而不是空字符串。你能给我一些建议吗?
问题内容: 我正在尝试在我的java类中编写几行HTML,该HTML行从另一个API获取一些数据。我以JSON字符串形式获取数据,然后将其显示在网页上。 要创建HTML,我尝试: 但是最终显示的是html标签的字面解释。有没有一种方法可以创建此字符串,以便标记将保留为标记而不是转义字符? Java类是托管bean,因此在html中,我具有: 其中fullLeadData是带有html的字符串。 问
我想显示一个项目列表,并使用“.” 我对此进行了研究,发现RecyclerView有一个内置的ItemDecoration功能。然而,我只能找到如何画一条线: 从我所看到的,您必须为此使用可绘制的,并且隐藏最后一个分隔符仍然不是很方便。 我发现的另一个选项是在RecyclerView的适配器内创建异构布局:https://guides.codepath.com/android/Heterogeno