Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将元组列表写入csv文件以保持列一致_Python_File_Csv_Tuples - Fatal编程技术网

Python 将元组列表写入csv文件以保持列一致

Python 将元组列表写入csv文件以保持列一致,python,file,csv,tuples,Python,File,Csv,Tuples,我用beautifulsoup在一个网站上爬行,页面的一半有常规数据,X个字段每个有一个值,第二部分有Y个字段每个字段有一个可变数量的值很多次只有一个值,其他时间任何数量的值 困扰我的是如何将这些数据写入一个csv文件,使其具有一致的列数,这样每一列将始终与单个数据点相关。。。姓名、地址、年龄——随便什么。我使用csv库在脚本末尾编写csv,我通常只调用各种列表及其值,以一致的方式填充我的csv writer.writerow([section_defendant[0], section_def

我用beautifulsoup在一个网站上爬行,页面的一半有常规数据,X个字段每个有一个值,第二部分有Y个字段每个字段有一个可变数量的值很多次只有一个值,其他时间任何数量的值

困扰我的是如何将这些数据写入一个csv文件,使其具有一致的列数,这样每一列将始终与单个数据点相关。。。姓名、地址、年龄——随便什么。我使用csv库在脚本末尾编写csv,我通常只调用各种列表及其值,以一致的方式填充我的csv

writer.writerow([section_defendant[0], section_defendant[1], section_defendant[2], section_defendant[3], section_defendant[4], section_defendant[5], section_defendant[6], section_defendant[7], section_defendant[8], section_defendant[9], section_defendant[10], section_defendant[11], section_defendant[12], section_defendant[13], section_defendant[14], entry_tuple, section_sentence[0], section_sentence[1], section_sentence[2], section_sentence[3], section_sentence[4], bond[0], bond[1], bond[2], bond[3]])
我存储具有可变条目的字段信息的方法是在列表中使用元组,因此我的可变条目的元组通常如下所示:

entry_tuple = [(a, b, c, d), (e, f, g, h), (i, j, k, l)]
所以值a,e,和i,都是相同的字段,比如说-费用-和b,f,和j都是相同的字段日期-这是与不同费用相关的日期

我知道我可以使用两个for循环从元组列表中获取信息,但变量entry_tuple可能在下一页中显示如下:

entry_tuple2 = [(a, b, c, d), (e, f, g, h)]
如果我将所有这些值写入文件,CSV的第二行将比第一行少4列

我想去R做这个项目的分析,但也考虑使用NumPy/Scipy或panda。。。我只需要将这些数据写入一个文件,然后在分析过程中读回


当我使用python或R作为我的统计工作台时,我是否可以将元组打印到单个列,然后将其解析回其他数据结构?在做统计时,我应该使用什么样的数据结构将这些数据保存在内存中。。。我希望保持它的简单性,只需要列来进行频率分布、中位数设置等。

你知道当你完成了你应该做的处理/刮取时,字段的最大数量是多长吗?只需创建空字符串的元组来填充数据并保持所有内容对齐。嘿,Oliver-这是一个很好的观点,我已经考虑过了,计算出最大值数,然后按照您所说的填充,最终得到许多空列。我想我需要修改脚本来跟踪最大值是多少。。。我不知道我是否想要抓取100000页来获得这个值,也许我只需要做一些抽样,并使用这些结果的最大值。关于最佳采样方法的输入是什么?您是否考虑将可变长度列表添加到CSV文件中的末尾,而不是在中间的某个地方?我有一个这样的脚本。这样你就不需要事先知道列的数量,大多数处理csv文件的工具可以更好地处理这种情况。另一个好的方面,我感谢你阅读我的文章,并给我一些毫无意义的指导。我想发生的是我遇到了经典的一对多问题。。。似乎使用一些关系数据库将是标准的方法。。。可惜我对这些不太了解!