小编Roh*_*ada的帖子

将日期转换为小时

我想找出两个日期之间的时差,然后比较以小时为单位的差异时间.像这样的东西,

StartTime = 2011-03-10 15:45:48 EndTime = 2011-03-10 18:04:00

然后找出差异为,timeDifference = abs(StartTime - EndTime)然后我需要将结果比较为,如果timeDifference> 6小时......

当我使用这种方法时,我得到的结果是时间格式,我应该如何在python中将时间格式更改为小时?

谢谢,

python datetime hour

4
推荐指数
1
解决办法
1万
查看次数

python split函数

我在分割数据时遇到问题.我在CSV文件中有如下数据:

"a";"b";"c;d";"e"
Run Code Online (Sandbox Code Playgroud)

问题是当我使用line.split(";")函数时,它甚至在c和之间分裂d.我不想cd被分开.稍后我需要将这四个值存储在表中的四个不同列中,但是使用此函数我会得到五个不同的列.

我希望结果如此"a" "b" "cd" "e".

我尝试过line.split('";"'),但没有帮助.

python

3
推荐指数
1
解决办法
1754
查看次数

一次更新多行

是否可以同时更新多行?

以下查询返回当前部门的信息,员工正在处理.

SELECT  a.empID, a.deparmentID 
FROM customer a  
INNER JOIN (
 SELECT  f.empID, max(f.myDate) md 
 FROM customer f 
GROUP BY f.empID
) z ON z.empID = a.empID AND z.md = a.myDate
Run Code Online (Sandbox Code Playgroud)

例如,以下是我的表的示例:

empID       deparmentID         myDate
1           1                   2011-01-01
2           1                   2011-02-10
3           2                   2011-02-19
1           2                   2011-03-01
2           3                   2011-04-01
3           1                   2011-05-10
1           3                   2011-06-01
Run Code Online (Sandbox Code Playgroud)

所以上面的查询将返回,

empID   departmentID        
1       3
2       3
3       1
Run Code Online (Sandbox Code Playgroud)

现在基于这些返回值,我想一次更新我的表.

目前我使用for循环一次更新这些值(性能非常慢),

我的更新查询是:

for row in somerows:    
    UPDATE facttable SET deparment = row[1] WHERE empID …
Run Code Online (Sandbox Code Playgroud)

sql postgresql

3
推荐指数
1
解决办法
2万
查看次数

解析csv时由于双引号导致的问题.

我有以下格式的csv文件,

"1";"A";"A:"61 B & BA";"C"
Run Code Online (Sandbox Code Playgroud)

以下是我读取csv文件的代码,

with open(path, 'rb') as f:
    reader = csv.reader(f, delimiter = ';', quotechar = '"')
    for row in reader:
        print row
Run Code Online (Sandbox Code Playgroud)

问题是,它打破了5个字段中的行,

['1', 'A', 'A:61 B &amp', ' BA', 'C']
Run Code Online (Sandbox Code Playgroud)

虽然我期待我的输出,

['1', 'A', 'A:61 B & BA', 'C']
Run Code Online (Sandbox Code Playgroud)

当我在csv文件中删除61 B之前的双引号时,我输出为,

['1', 'A', 'A:61 B & BA', 'C'] 这是完全没问题,但为什么即使定义了分隔符和quotechar,在字段中间的双引号也会引起问题?

python csv

3
推荐指数
1
解决办法
4275
查看次数

检查字典中的元组值

我有一本以元组为键,还以元组为值的字典。我需要一种基于字典键访问字典值的方法。例如:

d = {}
d = { (1, 2) : ('A', 'B'),(3, 4) : ('C', 'B') }
Run Code Online (Sandbox Code Playgroud)

现在,首先,我需要检查(1, 2)字典中是否已经存在键。

就像是:

if d.has_key(1,2)
   print d[1]
   print d[2]
Run Code Online (Sandbox Code Playgroud)

python tuples dictating

2
推荐指数
1
解决办法
4482
查看次数

复杂Python参数传递要求的解决方案是什么?

我正在寻找以下复杂参数传递问题的解决方案:

我想使用Python将函数列表及其参数作为参数传递给另一个函数.我知道可以将函数作为参数传递,但是可以在python中传递函数列表及其参数吗?

我的示例代码:

self.myObject = Column(self.orderedColumnDictionary, \ 
   fillingOutMethods = [[firstFillingOutMethod, parameter1], \
   [anotherFillOutMethod, parameter2, parameter3]])
Run Code Online (Sandbox Code Playgroud)

在这段代码中,我正在初始化一个类Column的对象.所以在创建对象时,我希望将各种函数作为参数传递.我正在考虑将此对象所需的所有函数作为lits传递.例如,在这个示例代码中,我的函数是firstFillingOutMethod,其中我将parameter1作为参数传递,而另一个函数是anotherFillOutMethod,其中我想传递parameter2和parameter3作为参数.

因此,我期待任何有关执行此类任务的建议.

谢谢

python parameter-passing

2
推荐指数
1
解决办法
115
查看次数

如果行中的列包含分号和文本中的双引号,则会出现问题

我想从csv文件导入几行.问题是在文本中间包含分号和双引号的列很少.

因为我的天气是; 和csv引用是",所以它一见到就拆分列;并且"在文本的中间.

我的示例csv文件是:

"hello";"<SPAN onmouseup="__doPostBack('bb','')">;</SPAN> <SPAN onmouseup="__doPostBack('j','')" style="DISPLAY: none" Enabled="true"> ";"bye"
Run Code Online (Sandbox Code Playgroud)

读取行的代码是:

csv.reader((line.replace('\0','') for line in f) , delimiter=';',quotechar = '"') 

 for row in reader:
     print row


 and it prints ;['hello', "<SPAN onmouseup=__doPostBack('bb','')>", '</SPAN> <SPAN onmouseup="__doPostBack(\'j\',\'\')" style="DISPLAY: none" Enabled="true"> "', 'bye']
Run Code Online (Sandbox Code Playgroud)

我希望结果如下:

 row[0] = hello
 row[1] = <SPAN onmouseup="__doPostBack('bb','')">;</SPAN> <SPAN onmouseup="__doPostBack('j','')" style="DISPLAY: none" Enabled="true"> 
 row[2] = bye
Run Code Online (Sandbox Code Playgroud)

我得到的输出是:

row[0] = hello
 row[1] = <SPAN onmouseup="__doPostBack('bb','')">
 row[2] = </SPAN> <SPAN onmouseup="__doPostBack('j','')" style="DISPLAY: none" Enabled="true"> 
 row[3] = bye
Run Code Online (Sandbox Code Playgroud)

我已经使用了python split函数中 …

python csv

0
推荐指数
1
解决办法
312
查看次数

标签 统计

python ×6

csv ×2

datetime ×1

dictating ×1

hour ×1

parameter-passing ×1

postgresql ×1

sql ×1

tuples ×1